/*-------------------------------------------------------------------------
 *
 * catversion.h
 *	  PostgreSQL 的“目录版本号”。
 *
 * 目录版本号用于标记 PostgreSQL 系统目录中的不兼容更改。
 * 每当有人更改系统目录关系的格式，或以某种方式添加、删除或
 * 修改标准目录条目，使得更新后的后台无法与旧数据库工作
 * （反之亦然）时，应更改目录版本号。由 initdb 存储在 pg_control
 * 中的版本号与后台启动时编译的版本号进行检查，以便后台
 * 可以拒绝在不兼容的数据库中运行。
 *
 * 此功能的目的是提供比仅查看存储在 PG_VERSION 中的
 * 主版本号更细粒度的兼容性检查。它对最终用户来说不应该
 * 重要，但在开发周期中，我们通常会对系统目录的内容进行
 * 很多不兼容的更改，我们不希望为每一个都提升主版本号。
 * 我们可以做的替代方法是提升这个内部版本号。这应该为
 * 可能会浪费时间追踪“错误”的开发人员节省一些麻烦，
 * 而这些错误实际上只是代码与数据库的不兼容性。
 *
 * 开发人员的规则是：如果您提交了需要 initdb 的更改，
 * 则应更新目录版本号（同时通知 pgsql-hackers 邮件
 * 列表，这是很长一段时间以来的非正式做法）。
 *
 * 目录版本号被放置在这里，因为修改 include/catalog 中的文件
 * 是最常见的强制 initdb 的更改。但它也可以用于保护任何
 * 类型的不兼容更改，如修改元组头。
 *
 *
 * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
 * Portions Copyright (c) 1994, Regents of the University of California
 *
 * src/include/catalog/catversion.h
 *
 *-------------------------------------------------------------------------
 */
#ifndef CATVERSION_H
#define CATVERSION_H

/*
 * 我们可以随意使用任何内容作为版本号，但我建议
 * 遵循通常用于 DNS 区域序列号的 "YYYYMMDDN" 风格。
 * YYYYMMDD 是变更的日期，N 是当天变更的数量。
 * （希望我们永远不会在同一天提交十组独立的
 * 目录更改……）
 */

/*							yyyymmddN */
#define CATALOG_VERSION_NO	202209061

#endif
